package com.hiultra.archive.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hiultra.common.annotation.Excel;
import com.hiultra.common.core.domain.BaseEntity;

/**
 * 盒中档案信息对象 room_archive
 *
 * @author 派大星
 * @date 2024-07-23
 */
public class RoomArchive extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 序号
     */
    private String id;

    /**
     * 档案区编号
     */
    @Excel(name = "档案区编号")
    private String areaNo;
    /**
     * 档案柜编号
     */
    @Excel(name = "档案柜编号")
    private String cabinetNo;
    /**
     * 档案盒编号
     */
    @Excel(name = "档案盒号")
    private String boxNo;
    private String bagNo;
    private String houseLocationNo;


    @Excel(name = "借阅状态", dictType = "borrow_flag")
    private String giveBackStatus;

    /**
     * 档案名称
     */
    @Excel(name = "档案名称")
    private String archiveName;

    /**
     * 档案类型
     */
    @Excel(name = "档案类型", dictType = "archive_type")
    private String archiveType;

    /**
     * 保管情况
     */
    @Excel(name = "保管情况", dictType = "save_extended")
    private String saveStatus;

    /**
     * 保管期限
     */
    @Excel(name = "保管期限", dictType = "save_year")
    private String saveDate;

    /**
     * 密级
     */
    @Excel(name = "密级", dictType = "confd_lv")
    private String conLevel;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;

    /**
     * 更新人
     */
    private String modifier;

    /**
     * 档案袋标识
     */
    @Excel(name = "档案袋标识")
    private Long bagId;

    /**
     * 资料种类DU16	协议
     * DC01	客户身份证明材料
     * DU01	用电申请材料
     * DU02	租赁证明材料
     * DU03	委托证明材料
     * DU04	项目支撑材料
     * DU05	现场勘查及供电方案答复
     * DU06	设计审查
     * DU07	中间检查及竣工验收
     * DU08	合同、收费及送电
     * DU09	用户物权证明材料
     * DU99	其他
     * DU13	证件
     * DU14	证明
     * DU15	合同
     * DU10	现场照片
     * DU11	业务单据
     * DU12	图纸
     */
    @Excel(name = "资料种类")
    private String meansType;

    /**
     * 介质类型01电子 02纸质 03电子+纸质
     */
    @Excel(name = "介质类型")
    private String medForm;

    /**
     * 对象类型DC	客户
     * DG	发电客户
     * DO	其它
     * DU	用电客户
     */
    @Excel(name = "对象类型")
    private String archObjType;

    /**
     * 对象编号
     */
    @Excel(name = "对象编号")
    private String archObjNo;

    /**
     * 对象名称
     */
    @Excel(name = "对象名称")
    private String archObjName;

    /**
     * 附件标识
     */
    @Excel(name = "附件标识")
    private String archFileId;

    private String delflag = "0";

    public String getDelflag() {
        return delflag;
    }

    public void setDelflag(String delflag) {
        this.delflag = delflag;
    }

    public Long getBagId() {
        return bagId;
    }

    public void setBagId(Long bagId) {
        this.bagId = bagId;
    }

    public String getMeansType() {
        return meansType;
    }

    public void setMeansType(String meansType) {
        this.meansType = meansType;
    }

    public String getMedForm() {
        return medForm;
    }

    public void setMedForm(String medForm) {
        this.medForm = medForm;
    }

    public String getArchObjType() {
        return archObjType;
    }

    public void setArchObjType(String archObjType) {
        this.archObjType = archObjType;
    }

    public String getArchObjNo() {
        return archObjNo;
    }

    public void setArchObjNo(String archObjNo) {
        this.archObjNo = archObjNo;
    }

    public String getArchObjName() {
        return archObjName;
    }

    public void setArchObjName(String archObjName) {
        this.archObjName = archObjName;
    }

    public String getArchFileId() {
        return archFileId;
    }

    public void setArchFileId(String archFileId) {
        this.archFileId = archFileId;
    }

    public String getGiveBackStatus() {
        return giveBackStatus;
    }

    public void setGiveBackStatus(String giveBackStatus) {
        this.giveBackStatus = giveBackStatus;
    }

    public String getBagNo() {
        return bagNo;
    }

    public void setBagNo(String bagNo) {
        this.bagNo = bagNo;
    }

    public String getHouseLocationNo() {
        return houseLocationNo;
    }

    public void setHouseLocationNo(String houseLocationNo) {
        this.houseLocationNo = houseLocationNo;
    }

    public String getAreaNo() {
        return areaNo;
    }

    public void setAreaNo(String areaNo) {
        this.areaNo = areaNo;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setCabinetNo(String cabinetNo) {
        this.cabinetNo = cabinetNo;
    }

    public String getCabinetNo() {
        return cabinetNo;
    }

    public void setBoxNo(String boxNo) {
        this.boxNo = boxNo;
    }

    public String getBoxNo() {
        return boxNo;
    }

    public void setArchiveType(String archiveType) {
        this.archiveType = archiveType;
    }

    public String getArchiveType() {
        return archiveType;
    }

    public void setArchiveName(String archiveName) {
        this.archiveName = archiveName;
    }

    public String getArchiveName() {
        return archiveName;
    }

    public void setSaveStatus(String saveStatus) {
        this.saveStatus = saveStatus;
    }

    public String getSaveStatus() {
        return saveStatus;
    }

    public void setSaveDate(String saveDate) {
        this.saveDate = saveDate;
    }

    public String getSaveDate() {
        return saveDate;
    }

    public void setConLevel(String conLevel) {
        this.conLevel = conLevel;
    }

    public String getConLevel() {
        return conLevel;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public String getCreator() {
        return creator;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public String getModifier() {
        return modifier;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("cabinetNo", getCabinetNo())
                .append("boxNo", getBoxNo())
                .append("archiveType", getArchiveType())
                .append("archiveName", getArchiveName())
                .append("saveStatus", getSaveStatus())
                .append("saveDate", getSaveDate())
                .append("conLevel", getConLevel())
                .append("createTime", getCreateTime())
                .append("creator", getCreator())
                .append("modifyTime", getModifyTime())
                .append("modifier", getModifier())
                .toString();
    }
}
